package com.xigua.字符串;

import java.util.HashMap;
import java.util.Map;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: 给定两个字符串 s 和 t ，编写一个函数来判断 t 是否是 s 的字母异位词。
 *
 *注意：若 s 和 t 中每个字符出现的次数都相同，则称 s 和 t 互为字母异位词。
 *
 *
 * @date 2022/3/1023:19
 */
public class _242_有效的字母异位词 {
    public static void main(String[] args) {

    }
    public boolean isAnagram(String s, String t) {
        if (s.length() != t.length()) return false;
        Map<Character,Integer> hashMap = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            char key = s.charAt(i);
            if (hashMap.containsKey(key)) {
                hashMap.put(key, hashMap.get(key)+1);
            }else {
                hashMap.put(key,1);
            }
        }
        char[] chars = t.toCharArray();
        for (char aChar : chars) {
            if (!hashMap.containsKey(aChar))return false;
            if (hashMap.get(aChar) == 1){
                hashMap.remove(aChar);
            }else {
                hashMap.put(aChar,hashMap.get(aChar)-1);
            }
        }
        return hashMap.size() == 0;
    }

}
